/* Copyright 203-2115 AtomWare Technology Pty Limited
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 * The flowing information must be keep 
 * ResultsNode.java
 * appbasic
 * 2013年12月6日下午4:49:14
 * @author 屈甲康
 * QQ285799123
 * mailto:qujiakang@gmail.com
 */

package org.jackysoft.entity;

import java.util.Collection;








import org.dom4j.Element;
import org.jackysoft.bean.define.EntitySchemas;



public class ResultsNode extends AbstractNode {

	/**
	 * 
	 */
	private static final long serialVersionUID = 7353977482513917520L;
	protected Collection<ConditionsResultNode> conditionalResults;
	protected ResultNode unconditionalResult;

	public ResultsNode() {
		super();
		// TODO Auto-generated constructor stub
	}

	public ResultsNode(Element adc) {
		super(adc);
		// TODO Auto-generated constructor stub
	}

	@Override
	public Element asElement() {
		Element root = elementof("results");
		addchild(root, this.unconditionalResult);
		addchildren(root, this.conditionalResults);
		return root;
	}

	
	
	
	
	public Collection<ConditionsResultNode> getConditionalResults() {
		return conditionalResults;
	}

	
	
	public ResultNode getUnconditionalResult() {
		return unconditionalResult;
	}

	@Override
	protected void init(Element root) {
		this.unconditionalResult = childof(root, "unconditional-result",
				ResultNode.class);
		this.conditionalResults = childrenof(root, "result",
				ConditionsResultNode.class);

	}

	public void setConditionalResults(
			Collection<ConditionsResultNode> conditionalResults) {
		this.conditionalResults = conditionalResults;
	}

	public void setUnconditionalResult(ResultNode unconditionalResult) {
		this.unconditionalResult = unconditionalResult;
	}

	@Override
	public String tagName() {
		// TODO Auto-generated method stub
		return  "unconditional-result";
	}
}
